package com.imerir.robmob5.interfaces;

import lejos.nxt.LightSensor;
import lejos.nxt.NXTRegulatedMotor;
import lejos.robotics.RegulatedMotorListener;

/**
 * L'interface PID permet d'abstraire le developpement du PID et son utilisation;
 * 
 * @author rprevot
 *
 */
public interface PIDInterface extends Runnable {
	/**
	 * Construit une instance du PID avec le moteur gauche, le moteur droit et le lightSensor
	 * @param motorLeft
	 * @param motorRight
	 * @param lightSensor
	 */
	public void configure(NXTRegulatedMotor motorLeft, NXTRegulatedMotor motorRight,
			LightSensor lightSensor);
	
	/**
	 * Stop everything
	 */
	public void stop();
	
	/**
	 * Retourne si le robot est en train de bouger ou non.
	 * @return
	 */
	public boolean isMoving();
}
